//
//  boost_timer.cpp
//  HelloWorld
//
//  Created by Kevin Tang on 30/12/14.
//  Copyright (c) 2014年 Kevin Tang. All rights reserved.
//

#include "Common.h"
#include "boost_timer.h"
#include "new_progress_timer.h"
#include "memory.h"

using namespace std;

int TEST_TIMER()
{
    cout<<"=========test timer start========"<<endl;
    boost::timer t;//声明一个记时器对象，声明对象时即开始记时
    cout<<t.elapsed_max()<<endl;//可度量的最大时间，以h为单位
    cout<<t.elapsed_min()<<endl;//可度量的最小时间，以s为单位
    cout<<t.elapsed()<<endl;//声明对象到现在经过的时间
    t.restart();//重新记时
    cout<<t.elapsed()<<endl;//重新记时后到现在经过的时间
    cout<<"=========test timer end========"<<endl;
    return 0;
}
int test_progress()
{
    cout<<"=========test progress start========"<<endl;
    {
        boost::progress_timer t;
        cout<<t.elapsed_max()<<endl;
        cout<<t.elapsed_min()<<endl;
        cout<<t.elapsed()<<endl;
        t.restart();
        cout<<t.elapsed()<<endl;
    }
    cout<<"=========test progress end========"<<endl;
    cout<<"=========test self precision(0~10) start==============="<<endl;
    {
        new_progress_timer<10> t;//自定义精度
        cout<<t.elapsed()<<endl;
    }
    cout<<"=========test self precision end==============="<<endl;
    return 0;
}
int test_display()
{
    vector<string> vect(1000000);
    std::ofstream ofs("test.log");
    boost::progress_display pd(vect.size());
    std::vector<std::string>::iterator pos;
    for (pos = vect.begin(); pos!= vect.end(); pos++) {
        ofs <<*pos<<std::endl;
        ++pd;
    }
    std::cout<<"OK"<<std::endl;
    return 0;
}


int boost_main()
{
//    TEST_TIMER();
//    test_progress();
//    test_display();
    
    test_memory();
    return 0;
}



